# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1382+1.1373.1.97 -> 1.1383 # kernel/ksyms.c 1.203.1.7 -> 1.208 # kernel/fork.c 1.124.1.7 -> 1.128 # kernel/sysctl.c 1.46.1.4 -> 1.49 # kernel/sys.c 1.43.1.7 -> 1.47 # drivers/char/drm/drm_memory_debug.h 1.1.1.2 -> 1.4 # drivers/char/drm/drm_memory.h 1.8.1.4 -> 1.12 # drivers/char/drm/drm_bufs.h 1.14.1.2 -> 1.17 # drivers/char/drm/i810_dma.c 1.26.1.2 -> 1.29 # include/asm-alpha/unistd.h 1.18.1.4 -> 1.23 # mm/memory.c 1.123.1.3 -> 1.129 # include/linux/pci.h 1.90.1.10 -> 1.94 # include/linux/sysctl.h 1.47.1.2 -> 1.49 # drivers/net/tg3.c 1.72.1.1 -> 1.74 # fs/proc/base.c 1.42.1.11 -> 1.49 # mm/mmap.c 1.85.1.4 -> 1.88 # include/linux/time.h 1.16.1.2 -> 1.19 # include/asm-i386/unistd.h 1.25.1.3 -> 1.29 # Makefile 1.410.1.7 -> 1.416 # include/asm-sparc64/thread_info.h 1.10.1.2 -> 1.13 # drivers/char/drm/drmP.h 1.23.1.3 -> 1.26 # net/ipv4/tcp_input.c 1.39.1.6 -> 1.43 # kernel/sched.c 1.193.1.9 -> 1.198 # drivers/char/agp/hp-agp.c 1.24.1.1 -> 1.27 # include/linux/jbd.h 1.21.1.17 -> 1.25 # drivers/char/drm/drm_drv.h 1.20.1.2 -> 1.22 # arch/ia64/Kconfig 1.36.1.1 -> 1.38 # include/asm-i386/hw_irq.h 1.21.1.1 -> 1.24 # drivers/char/drm/drm_vm.h 1.23.1.2 -> 1.26 # arch/parisc/kernel/module.c 1.5.1.1 -> 1.7 # diff -Nru a/Makefile b/Makefile --- a/Makefile Wed Jul 16 00:38:51 2003 +++ b/Makefile Wed Jul 16 00:38:51 2003 @@ -213,7 +213,7 @@ NOSTDINC_FLAGS = -nostdinc -iwithprefix include CPPFLAGS := -D__KERNEL__ -Iinclude -CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \ +CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -g -O2 \ -fno-strict-aliasing -fno-common AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) diff -Nru a/arch/ia64/Kconfig b/arch/ia64/Kconfig --- a/arch/ia64/Kconfig Wed Jul 16 00:38:52 2003 +++ b/arch/ia64/Kconfig Wed Jul 16 00:38:52 2003 @@ -700,6 +700,33 @@ keys are documented in . Don't say Y unless you really know what this hack does. +config IA64_EARLY_PRINTK + bool "Early printk support" + depends on DEBUG_KERNEL && !IA64_GENERIC + help + Selecting this option uses the VGA screen or serial console for + printk() output before the consoles are initialised. It is useful + for debugging problems early in the boot process, but only if you + have a suitable VGA/serial console attached. If you're unsure, + select N. + +config IA64_EARLY_PRINTK_UART + bool "Early printk on MMIO serial port" + depends on IA64_EARLY_PRINTK + +config IA64_EARLY_PRINTK_UART_BASE + hex "UART MMIO base address" + depends on IA64_EARLY_PRINTK_UART + default "ff5e0000" + +config IA64_EARLY_PRINTK_VGA + bool "Early printk on VGA" + depends on IA64_EARLY_PRINTK + +config IA64_EARLY_PRINTK_SGI_SN + bool "Early printk on SGI SN serial console" + depends on IA64_EARLY_PRINTK && (IA64_GENERIC || IA64_SGI_SN2) + config DEBUG_SLAB bool "Debug memory allocations" depends on DEBUG_KERNEL diff -Nru a/include/linux/sysctl.h b/include/linux/sysctl.h --- a/include/linux/sysctl.h Wed Jul 16 00:38:51 2003 +++ b/include/linux/sysctl.h Wed Jul 16 00:38:51 2003 @@ -126,6 +126,7 @@ KERN_PANIC_ON_OOPS=57, /* int: whether we will panic on an oops */ KERN_HPPA_PWRSW=58, /* int: hppa soft-power enable */ KERN_HPPA_UNALIGNED=59, /* int: hppa unaligned-trap enable */ + KERN_CACHEDECAYTICKS=60,/* ulong: value for cache_decay_ticks (EXPERIMENTAL!) */ }; diff -Nru a/kernel/sched.c b/kernel/sched.c --- a/kernel/sched.c Wed Jul 16 00:38:52 2003 +++ b/kernel/sched.c Wed Jul 16 00:38:52 2003 @@ -176,7 +176,7 @@ static DEFINE_PER_CPU(struct runqueue, runqueues); #define cpu_rq(cpu) (&per_cpu(runqueues, (cpu))) -#define this_rq() (&__get_cpu_var(runqueues)) +#define this_rq() (cpu_rq(smp_processor_id())) /* not __get_cpu_var(runqueues)! */ #define task_rq(p) cpu_rq(task_cpu(p)) #define cpu_curr(cpu) (cpu_rq(cpu)->curr) #define rt_task(p) ((p)->prio < MAX_RT_PRIO) diff -Nru a/kernel/sysctl.c b/kernel/sysctl.c --- a/kernel/sysctl.c Wed Jul 16 00:38:51 2003 +++ b/kernel/sysctl.c Wed Jul 16 00:38:51 2003 @@ -580,6 +580,16 @@ .mode = 0644, .proc_handler = &proc_dointvec, }, +#ifdef CONFIG_SMP + { + .ctl_name = KERN_CACHEDECAYTICKS, + .procname = "cache_decay_ticks", + .data = &cache_decay_ticks, + .maxlen = sizeof(cache_decay_ticks), + .mode = 0644, + .proc_handler = &proc_doulongvec_minmax, + }, +#endif { .ctl_name = 0 } }; diff -Nru a/mm/memory.c b/mm/memory.c --- a/mm/memory.c Wed Jul 16 00:38:51 2003 +++ b/mm/memory.c Wed Jul 16 00:38:51 2003 @@ -114,8 +114,10 @@ } pmd = pmd_offset(dir, 0); pgd_clear(dir); - for (j = 0; j < PTRS_PER_PMD ; j++) + for (j = 0; j < PTRS_PER_PMD ; j++) { + prefetchw(pmd + j + PREFETCH_STRIDE/sizeof(*pmd)); free_one_pmd(tlb, pmd+j); + } pmd_free_tlb(tlb, pmd); }